import xml.etree.ElementTree as ET
 
# 解析 XML 文件
tree = ET.parse("books.xml")
root = tree.getroot()
 
# 打印根元素
print(f"根元素：{root.tag}")
 
# 遍历子元素
for book in root:
    print(f"\nBook ID: {book.attrib['id']}")
    for element in book:
        print(f"{element.tag}: {element.text}")

# 查找所有 <title> 元素
for title in root.findall(".//title"):
    print(f"书名：{title.text}")


# 查找第一个 <book> 元素
first_book = root.find("book")
print(f"第一本书的标题：{first_book.find('title').text}")

# 修改第一个 <book> 的 <title>
first_book = root.find("book")
first_book.find("title").text = "Advanced Python Programming"
 
# 保存修改后的 XML 文件
tree.write("updated_books.xml")


# 添加新书籍
new_book = ET.Element("book", id="3")
ET.SubElement(new_book, "title").text = "Data Science"
ET.SubElement(new_book, "author").text = "Alice Johnson"
ET.SubElement(new_book, "year").text = "2024"
 
# 将新书籍添加到根元素
root.append(new_book)
 
# 保存修改后的 XML 文件
tree.write("updated_books.xml")

# 删除第二本书
second_book = root.find("book[@id='2']")
root.remove(second_book)
 
# 保存修改后的 XML 文件
tree.write("updated_books.xml")



xml_data = """
<library>
    <book id="1">
        <title>Python Programming</title>
        <author>John Doe</author>
        <year>2023</year>
    </book>
</library>
"""
 
# 从字符串解析 XML
root = ET.fromstring(xml_data)
print(f"书名：{root.find('book/title').text}")